Release 10.1A: OpenEdge Getting Started:
Installation and Configuration


Event logging in Windows

In addition to the OpenEdge event log, the OpenEdge Server writes events to the Event Log. The Event Log is the object that enables Windows users to view the status of applications, security, and system processes, and to view their associated events. OpenEdge is an application process and, as such, it writes Progress events to the Application Event Log. You use the Event Viewer to see the Event Log’s contents. You can customize the Event Viewer so that it displays only the event types that you want to view. You access the Event Viewer through the Administrative Tools program group.

The components that enable the OpenEdge service to log messages to the Application event log database are described in Table 6–12.

Table 6–12: Progress event logging components
Component
Function
Event viewer
The standard front-end that enables users to view the Event Log.
Event log
The standard Windows database that records event information.
CATEGORY.DLL
The OpenEdge resource that contains the 14 categories into which Progress messages might fall.
PROMSGS file
The OpenEdge object that contains a single language version of the OpenEdge messages. OpenEdge supplies a PROMSGS file for each supported language version of Progress. The PROMSGS file is installed to the DLC directory. See Appendix D, "OpenEdge National Language Support," and OpenEdge Development: Internationalizing Applications for more information on the PROMSGS file.

Managing OpenEdge events in Windows

You can define the level of event logging that you want your OpenEdge application to support by using either the Event Level Environment Variable (EVTLEVEL) or the Event Level startup parameter (-evtlevel).

The valid Event Level values are described in Table 6–13.

Table 6–13: Event level values  
Value
Description
None
No OpenEdge events are written to the event log.
Brief
OpenEdge messages defined as Error and Warning messages are written to the event log.
Normal
Progress messages defined as Error and Warning messages are written to the event log. In addition, any Progress message that is normally written to the log file (.lg) is also written to the Event Log. This is the default.
Full
Every message generated by OpenEdge is written to the Event Log. Any Progress messages generated using the Message Statements are also written to the log file.

Understanding the Windows application event log components

The components of the Windows Application Event Log are standards defined by Windows. Figure 6–3 illustrates the Windows Application Event Log components when shown through the Event Viewer.

Figure 6–3: Windows application event log components

Table 6–14 describes how Progress uses the Application Event Log columns.

Table 6–14: Windows application event log components  
Log component
Log information
Type
Identifies the type of message such as Information, Warning, or Error.
Date
Identifies the date the event occurred.
Time
Identifies the time the event occurred.
Source
Source of the event. This is the name of the connected Progress database, if a database is connected. If no database is connected, then “Progress” is listed.
If you are using the Progress AppServer, “Progress” is also the default source for Progress AppServer messages; however, you can override the default source name by specifying the -logname AppServer broker startup parameter.
Category
Provides information to help you isolate the cause of the message displayed in the Event Log. Progress supports 14 event categories. The event categories are: AIW, APW, BACKUP, BIW, DATASERVER, MON, OIBRKR, OIDRVR, Progress, RFUTIL, SERVER, SHUT, USER, and PROWDOG. When no database is connected, Progress is specified as the category.
All categories reside in a file called category.dll. These categories correspond to the existing categories of events that are displayed in the progress.lg file (AppServer broker and application server events are displayed in the AppServer log file, proapsv.lg).
(Note that DATASERVER is not included as a category in the standard progress.lg file.)
Event
Associates to the Progress message that was generated. These are the same message numbers that are displayed in the standard database .lg file.
User
Identifies the user logged in to the Windows workstation where the event occurred.
Computer
Identifies the name of the Windows workstation where the event occurred. The Event Viewer enables you to get more information about events by double-clicking on any event.

You can view additional information about an event by double-clicking on it. Windows displays the Event Properties screen, as shown in Figure 6–4.

Figure 6–4: Windows application Event Detail dialog box

The Event tab displays details about the event you initially select. You can also use the arrow controls on the Event tab to scroll through detailed information about the other events that appear on the Windows application event log components viewer as shown in Figure 6–3.

Windows Event log and registry

Windows requires applications that use the Event Log to be bound to all of the necessary components. For Progress this means that the PROMSGS.DLL and the CATEGORY.DLL must be bound to any Progress database. Progress stores this information in the registry. Progress makes the registry entries and performs any binding operations that are necessary when you initially access a database. When Progress binds the DLL files to the database, it writes the fully qualified pathname to the registry. If you delete the database, you must manually remove the associated data from the registry. If you move the location of the DLLs after you access the database, you must manually edit the registry data.

The Progress components can be found in the following location in the registry:

HKEY_LOCAL_MACHINE
SYSTEM
  CurrentControlSet
     Services
        EventLog
          Security 
          System
          Application
             PROGRESS
             <Database Name> 

See the Microsoft documentation for more information about editing registry files.

When OpenEdge tries to find the DLLs before this information is included in the registry, it performs the search according to sequence of the following rules:

  1. OpenEdge searches the current directory.
  2. If the DLL is not in the current directory, OpenEdge searches the directory where the Progress executable is located.
  3. If the DLL is not in the same directory as the OpenEdge executable, OpenEdge searches the user’s path.

If the DLL is not in the user’s path, OpenEdge generates a message stating that the DLL cannot be found, and it writes a message to the OpenEdge log file.


Copyright © 2005 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095